package uk.ac.glasgow.clui;

@MinimumArguments(0)
@CommandDescription("Unknown or unimplemented command.")
public class UnknownSystemCommand<Facade> extends SystemCommand<Facade> {

	private String commandName;
	
	
	// The main menu for the system 
			String borderMenu = "-----------------------------------------\n" +
								"| Welcome to the Voting System CLI      |\n" +
								"-----------------------------------------\n" +
								"| publish                               |\n" +
								"| election                              |\n" +
								"| create                                |\n" +
								"| edit                                  |\n" +
								"| elections                             |\n" +
								"| nominate                              |\n" +
								"| accept                                |\n" +
								"| nominations                           |\n" +
								"| cast                                  |\n" +
								"| logout                                |\n" +
								"-----------------------------------------\n" +
								"| \"usage/u <command>\" for parameters    |\n" +
								"| \"man/m <command>\" for more info       |\n" +
								"-----------------------------------------\n" ;
	
	public UnknownSystemCommand(Facade facade, String commandName) {
		super(facade);
		this.commandName = commandName;
	}

	//@Override
	//public int getMinimumArguments() {return 0;}

	@Override
	public String processCommand(String[] arguments)
			throws SystemCommandException {
		return "Unknown command ["+commandName+"].\n"+borderMenu;
	}

}
